package com.gaoding.shared.dict.repository;

import com.gaoding.orm.jpa.repository.BaseRepository;
import com.gaoding.shared.dict.entity.DictTextContent;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

/**
 * 字典内容配置表(DictTextContent)表数据库访问层
 *
 * @author mobai
 * @since 2021-02-02 09:58:46
 */
public interface DictTextContentRepository extends BaseRepository<DictTextContent> {

    /**
     * 获取字典内容增量数据
     * @param serviceCode 服务编码
     * @param languageCode 语言编码
     * @param version 版本号
     * @return 字典内容增量数据 {@link DictTextContent}
     */
    @Query(nativeQuery = true,value = "select * from dict_text_content where service_code=?1 and language_code=?2 and version>?3")
    List<DictTextContent> listWithoutLogicFlag(String serviceCode,String languageCode,long version);

    /**
     * 获取指定服务、语言下单个key的字典内容
     * @param serviceCode 服务编码
     * @param languageCode 语言编码
     * @param textKey key
     * @return 字典内容 {@link DictTextContent}
     */
    List<DictTextContent> findAllByServiceCodeAndLanguageCodeAndTextKey(String serviceCode,String languageCode,String textKey);

    /**
     * 通过服务编码获取字典内容
     * @param serviceCode 服务编码
     * @return 字典内容  {@link DictTextContent}
     */
    List<DictTextContent> findAllByServiceCode(String serviceCode);

    /**
     * 通过语言编号获取字典内容
     * @param languageCode 语言编码
     * @return 字典内容  {@link DictTextContent}
     */
    List<DictTextContent> findAllByLanguageCode(String languageCode);
}